C语言形如typedef struct stu{}的结构体如何理解typedef? | 您所在的位置:网站首页 › c语言中 typedef struct › C语言形如typedef struct stu{}的结构体如何理解typedef? |
背景:
typedef 加在结构体前面加和不加有什么区别? 实例1:这里我们使用最普通的结构体,生成了一个结构体变量stu1 #include //实例1 struct stu { char *name; int num; int age; char group; float score; }; int main() { //实例1 struct stu stu1; stu1.name = "elephant"; stu1.num = 12; stu1.age = 18; stu1.group= 'A'; stu1.score= 137.0; printf("%s的学号是%d,年龄是%d,在%c组,今年的成绩是%.lf!\n", stu1.name,stu1.num,stu1.age,stu1.group,stu1.score); return 0; }这里我们采用了typedef 来修饰结构体,并且后面跟上了一个Stu(结构体别名),typedef使用了之后,Stu stu1;和struct stu stu2;这两句代码,其实表达的是一个意思,都是声明一个结构体变量,只不过用了typedef后我们可以写的简便一点,struct stu变为了Stu。 #include //实例2 typedef struct stu { char *name; int num; int age; char group; float score; }Stu; int main() { //实例1的声明 //struct stu stu1; //实例2的声明 Stu stu1; struct stu stu2; stu1.name = "elephant111"; stu1.num = 12; stu1.age = 18; stu1.group= 'A'; stu1.score= 137.0; printf("%s的学号是%d,年龄是%d,在%c组,今年的成绩是%.lf!\n", stu1.name,stu1.num,stu1.age,stu1.group,stu1.score); stu2.name = "elephant222"; stu2.num = 13; stu2.age = 19; stu2.group= 'B'; stu2.score= 136.0; printf("%s的学号是%d,年龄是%d,在%c组,今年的成绩是%.lf!\n", stu2.name,stu2.num,stu2.age,stu2.group,stu2.score); return 0; } |
CopyRight 2018-2019 实验室设备网 版权所有 |